The Session Initiation Protocol (“SIP”) is an application-layer control protocol for creating, modifying, and terminating sessions between SIP enabled devices. The SIP protocol is described in the Internet Engineering Task Force (IETF) Request for Comments (RFC) 3261, dated June 2002; the disclosure of which is incorporated herein by reference in its entirety. Accordingly, it is known in the art that SIP may be used by SIP based applications to manage communications sessions for Internet telephony and distributed multimedia conferencing.
Devices that are enabled to employ SIP may provide a number of features as part of an integrated feature set. A feature may be a standard feature, which is implemented in a standardized way by SIP enabled device manufacturers. Alternatively, a feature may be a supplemental feature, which is implemented in a proprietary way that is unique to a particular device manufacturer.
A SIP enabled device may be used in conjunction with a central server, such as for example, a Central Office (“CO”) switch, a Private Branch Exchange (“PBX”) switch, or an Internet Protocol (“IP”) based communications server. SIP features that are offered by the SIP enabled device can be standalone features or alternatively features that are used in combination with features provided by the central server. However, problems may occur if the central server offers the same feature as the SIP enabled device. Further, the central server may offer additional features that interact with the features offered by the SIP enabled device in undesirable ways.
Currently, features that are offered by the SIP enabled device can only be enabled or disabled locally by a user or remotely by a system administrator of the SIP enabled device using proprietary application software. That is, there is no way for the central server to control whether the features that are offered by the SIP enabled device are enabled or disabled. Thus, the central server must use or interact with all features that have been enabled by the user or the systems administrator. Consequently, where conflicts are encountered, some or all of the features may not function properly, which results in user dissatisfaction.